package org.wtframework.platform.server.util;

import java.text.DecimalFormat;

import jetbrick.template.runtime.JetPageContext;

import org.openredhead.springx.core.server.model.IUser;


/**
 * 
 * <B>类描述：</B> （Jetbrick前端函数扩展） <br/><br/>
 * <B>作者：</B> 梁卓文<br/><br/>
 * <B>创建日期：</B> 2014年4月28日 下午3:55:40 
 *
 */
public class JetbrickMethods {

	public static String isOnline(IUser user, JetPageContext ctx) {
//		HttpSession session = (HttpSession) ctx.getContext().get(JetWebContext.SESSION);
		/**
		 * 说明：
		 * JetPageContext ctx 这参数可加可不加，要加那它的位置是第二位，其他的要跟在它后面
		 * 
		 * 使用例子
		 * <td>${user1.isOnline()}</td>
		 */
		return "aaaaaaaaaaa";
	}
	
	public static Boolean startWith(String str,  String subStr) {

		return str.startsWith(subStr);
	}
	
	public static Boolean endsWith(String str,  String subStr) {
		
		return str.endsWith(subStr);
	}
	
	public static String subString(String str,  Integer beginIndex, Integer endIndex) {
		try {
			return str.substring(beginIndex, endIndex);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			return str;
		}
	}
	
	public static String replace(String str,  String oldStr, String newStr) {
		
		return str.replace(oldStr, newStr);
	}
	
	/**
	 * 
	 * <B>方法描述：</B>（Double数据保留几位小数） <br/>
	 *
	 * <B>作者：	 </B> 梁卓文 <br/>
	 * @param o
	 * @param length
	 * @return
	 */
	public static String keep(Double o, Integer length) {
					
		String t = "";
		for(int i = 0; i < length; i++) {
			t += "0";
		}
		if(!"".equals(t)) {
			t = "." + t;
		}			
		DecimalFormat df = new DecimalFormat("#" + t);
		String str = df.format(o);
		while(str.contains(".") && str.endsWith("0")) {
			str = str.substring(0, str.length() - 1);
		}
		if(str.endsWith(".")) {
			str = str.substring(0, str.length() - 1);
		}

		return str;
	}
}
